Перейти к основному содержимому

6.08. Автоматизация тестирования

Тестировщику Разработчику Аналитику

Роль автоматизации и тестовых фреймворков

Что такое автотест
Зачем нужно автоматическое тестирование
Как работает автоматическое тестирование

Автоматизация не заменяет тестирование, но значительно повышает его эффективность в повторяющихся, объёмных или требующих точности сценариях. Выбор фреймворка зависит от языка, уровня тестирования и архитектуры системы:

  • Unit: JUnit (Java), NUnit (C#), pytest (Python), Jest/Mocha (JS/TS)
  • Интеграционные/API: RestAssured (Java), Supertest (Node.js), Postman + Newman
  • E2E/UI: Selenium WebDriver, Cypress, Playwright, WebdriverIO
  • Производительность: JMeter, Gatling, k6
  • Безопасность: OWASP ZAP, Burp Suite (частично автоматизированы)

Современные фреймворки поддерживают:

  • декларативное написание тестов;
  • встроенные механизмы ассертов;
  • генерацию отчётов и интеграцию с CI/CD (GitHub Actions, GitLab CI, Jenkins);
  • параллельный запуск и ретраи;
  • работу с моками и заглушками (через Sinon, Mockito и др.).

Онлайн-песочницы, такие как CodePen, JSFiddle, JSBin, не предназначены для полноценного тестирования, но полезны для быстрой верификации фрагментов клиентского кода, демонстрации багов или совместной отладки. Они не заменяют локальные или CI-среды, но служат вспомогательным инструментом в коммуникации.